#ifndef NJLIKECANDEVICE_H
#define NJLIKECANDEVICE_H

#include "ICANCmd.h"
#include "candevice.h"
#include <QObject>

class NJLikeCanDevice : public CanDevice {
    Q_OBJECT
public:
    NJLikeCanDevice( CanDevice* parent = nullptr );

    DWORD CanDeviceOpen( DWORD dwType, DWORD dwIndex, CHAR* pDescription );
    DWORD CanChannelStopDeviceClose( DWORD dwDeviceHandle, DWORD dwType, DWORD dwIndex, DWORD dwchannel );
    DWORD CanChannelStart( DWORD dwDeviceHandle, DWORD dwType, DWORD dwIndex, DWORD dwChannel, CanInitConfig* pInitConfig );
    ULONG CanChannelSend( DWORD dwDeviceHandle, DWORD dwType, DWORD dwIndex, DWORD dwChannel, CanDataFrame* frame, ULONG nCount );
    ULONG CanChannelReceive( DWORD dwDeviceHandle, DWORD dwType, DWORD dwIndex, DWORD dwChannel, CanDataFrame* pReceive, ULONG nCount, INT nWaitTime );

    DWORD CanChannelStop( DWORD dwDeviceHandle, DWORD dwChannel );
    DWORD CanDeviceClose( DWORD dwDeviceHandle );
};

#endif  // NJLIKECANDEVICE_H
